@
2年前 提问
1个回答

为什么会产生TCP拆包和粘包

Simon
2年前

产生TCP拆包和粘包的原因包括:

  • 要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包;

  • 接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包;

  • 要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包;

  • 待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。即TCP报文长度-TCP头部长度>MSS。